package com.heima.wemedia.handler;

import com.aliyun.tea.ValidateException;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.common.enums.AppHttpCodeEnum;
import io.minio.Result;
import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RestControllerAdvice;

import java.util.HashMap;
import java.util.Map;

@RestControllerAdvice
public class ValidatorExceptionHandler {
    @ExceptionHandler(MethodArgumentNotValidException.class)
    public ResponseResult<String> handleMethodArgumentNotValidException(MethodArgumentNotValidException e) {
//        BindingResult bindingResult = e.getBindingResult();
//        Map<String, String> errorMap = new HashMap<>();
//
//        // 提取所有字段的错误信息
//        for (FieldError fieldError : bindingResult.getFieldErrors()) {
//            // 字段名 -> 错误信息
//            errorMap.put(fieldError.getField(), fieldError.getDefaultMessage());
//        }

        String errorMessage = e.getBindingResult().getFieldError().getObjectName();

        // 返回错误信息
        return ResponseResult.errorResult(AppHttpCodeEnum.SERVER_ERROR,errorMessage);
    }
}
